/*
 * ENCODER.h
 *
 * Created: 19-06-2013 13:30:29
 *  Author: Karmu
 */ 


#ifndef ENCODER_H_
#define ENCODER_H_

/* defines for encoders */
#define ENCODER_PORT		PORTB
#define ENCODER_DDR			DDRB
#define ENCODER_PIN			PINB

#define ENCODER_LEFT_A		PB0			//White
#define ENCODER_LEFT_B		PB1			//Grey
#define ENCODER_RIGHT_A		PB2			//White Dash
#define ENCODER_RIGHT_B		PB3			//Grey Dash

extern void encoder_init(void);

extern void encoder_left_check_status(void);
extern uint8_t encoder_left_get_status(void);
extern void encoder_left_reset_status(void);
extern int16_t encoder_left_get_count(void);
extern void encoder_left_reset_count(void);

extern void encoder_right_check_status(void);
extern uint8_t encoder_right_get_status(void);
extern void encoder_right_reset_status(void);
extern int16_t encoder_right_get_count(void);
extern void encoder_right_reset_count(void);

#endif /* ENCODER_H_ */